feat: bond-deleted raw correlation = isolated induced subgraph (per-stage increment form) — #2965#2986
Merged
Conversation
…tage increment form)
Add two lemmas closing the Phase A per-stage-increment assembly:
- correlation_congr_all: G₁ = G₂ ⇒ correlation G₁ = correlation G₂ across ALL
instances (vertex Fintype + edgeSet Fintype), since Fintype is Subsingleton
(Fintype.subsingleton). Strengthens correlation_congr_of_eq; resolves the
vertex-Fintype diamond between Finset.Subtype.fintype (inducedGraph) and the
Set-induce vertex Fintype.
- correlation_deleteEdges_straddle_eq_inducedGraph: the raw bond-deleted graph's
correlation of an S-supported observable equals the isolated induced-subgraph
correlation:
correlation (G.deleteEdges {straddle S}) p (((A.map inl).map union).map subtypeUnivEquiv)
= correlation (inducedGraph G S) p A
Composes correlation_induce_of_forall_mem (on ↑(S∪Sᶜ)) ∘ correlation_congr_all
∘ correlation_inducedGraph_deleteEdges_union_inl.
This is the per-stage-increment form that pairs directly with the ball-boundary
bond-deletion increment correlation_sub_deleteEdges_le_derivBound (#2974).
Part of #2965
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
… formalized) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
phasetr
added a commit
that referenced
this pull request
May 26, 2026
#2987) * feat: deleteEdges via edge-filter Finset = deleteEdges via Set (Part of #2965) * feat: deleteEdges via edge-filter Finset = deleteEdges via Set Add deleteEdges_filter_edgeFinset_eq: G.deleteEdges ↑(G.edgeFinset.filter p) = G.deleteEdges {e | p e}. Since deleteEdges ignores non-edges (deleteEdges_eq_inter_edgeSet), deleting only the edges satisfying p equals deleting every Sym2 satisfying p. This bridges the Finset (Sym2 V) form of the ball-boundary bond-deletion increment correlation_sub_deleteEdges_le_derivBound (#2974, takes E₀ : Finset) and the Set-predicate form of the component-factorization capstone (#2986), toward the numeric per-stage exhaustion increment. Part of #2965 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
phasetr
added a commit
that referenced
this pull request
May 26, 2026
* feat: triple-mapped S-observable = val-image observable (Part of #2965) * feat: triple-mapped S-observable = val-image observable Add triple_map_subtypeUnivEquiv_eq: the observable pushed through Sum.inl, Equiv.Finset.union S Sᶜ, and Equiv.subtypeUnivEquiv equals A.map ⟨Subtype.val,_⟩ (the plain subtype inclusion image of A in V). Via Finset.map_map the three embeddings compose to the inclusion ↥S → V. This identifies the observable of correlation_deleteEdges_straddle_eq_inducedGraph (#2986) with the raw V-vertex observable (e.g. {r,s} for the pair), supplying the observable match for the numeric per-stage increment. Together with deleteEdges_filter_edgeFinset_eq (#2987) and correlation_congr_all (#2986), the remaining gap is only discharging the ball-boundary hypotheses for the straddle-edge finset. Part of #2965 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
phasetr
added a commit
that referenced
this pull request
May 26, 2026
* feat: numeric per-stage correlation increment (Part of #2965) * feat: numeric per-stage correlation increment (Phase A) Add correlation_pair_sub_inducedGraph_le_derivBound (new PerStageIncrement.lean): for r,s ∈ S, r≠s, ferromagnetic, h=0, and r,s not on any cut (straddle) edge, correlation G p {r,s} − correlation (inducedGraph G S) p {⟨r,_⟩,⟨s,_⟩} ≤ derivBound G (G.edgeFinset.filter straddle) p r s. The full-model pair correlation exceeds the isolated induced-subgraph pair correlation by at most the ball-boundary derivBound over the cut edges. Composes the ball-boundary bond-deletion increment correlation_sub_deleteEdges_le_derivBound (#2974) with the component-factorization bridge correlation_deleteEdges_straddle_eq_inducedGraph (#2986), via deleteEdges_filter_edgeFinset_eq (#2987) + correlation_congr_all + triple_map_subtypeUnivEquiv_eq (#2988). The straddle predicate is @[reducible] (to match the inline straddle set of the component lemmas under unification) and the graph/observable bridge is a separate lemma (correlation_deleteEdges_filter_pair_eq) to keep elaboration within the heartbeat budget. Part of #2965 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * docs: fix stale 'not yet formalized' notes per codex (#2989 formalizes the composition) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #2965. Closes the Phase A per-stage-increment assembly, resolving the vertex-
Fintypediamond flagged earlier.correlation_congr_all:G₁ = G₂ ⇒ correlation G₁ = correlation G₂across all instances (vertexFintype+edgeSet Fintype), sinceFintypeisSubsingleton(Fintype.subsingleton). Strengthenscorrelation_congr_of_eq(feat: correlation graph-equality congruence + induced-union bridge (union form) — #2965 #2978).correlation_deleteEdges_straddle_eq_inducedGraph:correlation (G.deleteEdges {straddle S}) p (((A.map inl).map union).map subtypeUnivEquiv) = correlation (inducedGraph G S) p A— the raw bond-deleted graph's correlation of anS-supported observable equals the isolated induced-subgraph correlation. Composescorrelation_induce_of_forall_mem(feat: generalize induce-univ correlation to any full set — #2965 #2985) ∘correlation_congr_all∘correlation_inducedGraph_deleteEdges_union_inl(feat: bond-deleted correlation = isolated induced subgraph (Phase A capstone, Finset route) — #2965 #2983).Pairs directly with the ball-boundary bond-deletion increment
correlation_sub_deleteEdges_le_derivBound(#2974) → per-stage exhaustion increment bound.lake build IsingModel.AmbientLatticeSum.InducedUniongreen, sorry 0, file linter-clean, tex compiles.🤖 Generated with Claude Code